<?php
// 合并参数
$params = array_merge(
    require __DIR__ . '/../../common/config/params.php',
    require __DIR__ . '/../../common/config/params-local.php',
    require __DIR__ . '/params.php',
    require __DIR__ . '/params-local.php'
);

return [
    'id' => 'micro_bees_yida', // 设置应用ID
    'basePath' => dirname(__DIR__), // api应用根目录
    'controllerNamespace' => 'yida\controllers', // 配置yida应用的控制器命名空间
    'defaultRoute' => 'main', // 默认控制器
    'bootstrap' => ['log'], // 引导前就加载日志组件
    // 配置公共组件
    'components' => [
        // 日志组件
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        // 错误处理组件
        'errorHandler' => [
            'errorAction' => null,
        ],
        // 配置api接收请求组件
        'request' => [
            'csrfParam' => '_csrf-api',

            // 关闭csrf检测 接口不需要 增加的配置
            'enableCsrfValidation' => false,
            'enableCsrfCookie' => false,

            // 配置api接收JSON数据
            'parsers' => [
                'application/json' => 'yii\web\JsonParser',
            ]
        ],
        // 配置api请求返回组件
        'response' => [
            'class' => 'yii\web\Response',
            // 配置api 返回JSON格式
            'format' => \yii\web\Response::FORMAT_JSON
        ],
        // 配置user组件
        'user' => [
            'identityClass' => 'common\services\user\UserAccountService', // 使用common/models下的user模型类
            'enableAutoLogin' => false, // 关闭自动登录 api使用token作为用户登录凭证
            'loginUrl' => null, // 登录url 设置为null
            'on afterLogin' => ['common\services\user\UserAccountService', 'afterLoginHandler'] // 配置事件登录成功后的处理器
        ],
        // 配置crop组件
        'crop' => [
            'class' => 'common\services\crop\CropAccountService'
        ],
        // 路由组件
        'urlManager' => [
            'class' => 'yii\web\UrlManager',
            'enablePrettyUrl' => true, // 美化路由
            //此属性决定是否开启严格的请求解析 如果设置为true启用，请求的URL必须至少匹配 rules 中的一条规则
//            'enableStrictParsing' => false,
//            'showScriptName' => false, // false隐藏入口脚本名称
            'rules' => [
                // 配置url规则 如果enableStrictParsing为true 必需配置至少一条路由规则
                // 'captcha' => 'account/captcha',
//                'user/index' => 'v1/user/index',
            ],
        ],
        // 配置接口数据统一返回格式类组件api
        'api' => [
            'class' => 'common\components\ApiResponse'
        ]
    ],
    // 配置模块
    'modules' => [
        'resource' => [ // 第三方数据资源组
            'class' => 'yida\modules\resource\Module',
        ],
        'listener' => [ // 宜搭事件监听组
            'class' => 'yida\modules\listener\Module',
        ],
    ],
    'params' => $params
];